package lesbonsamis

class TransactionController {

    def transactionService
	def mailService
	
	static allowedMethods = []
	
	def index = {
		redirect(action:'liste')
	}
	
    def liste = {
		Projet projet = Projet.get(session.projetId)
		
		// mise à jour des transactions et du projet		
		transactionService.calculMaj(projet)
		transactionService.calculTransactions(projet)
		projet.save(flush: true)
		
		def listeTransaction = projet.transactions.toList()
		render(view:"liste", model:["listeTransaction":listeTransaction])
	}
	
	def envoyer = {
		Projet projet = Projet.get(session.projetId)
	    Participant responsable = projet.responsable
		
		def message = "Mail envoyé!"
		if (responsable.email == "") {
			message = "Le mail du responsable est requis pour envoyer un e-mail récapitulatif"
		} else {
			def corps = "Bonjour,\n\n"
			corps += "Un evenement a ete cree par " + responsable.nom + " sur le site LesBonsAmis.\n\n"
			corps += "Rendez-vous à l'adresse ci-dessous pour consulter le detail.\n"
			corps += "http://lesbonsamis.eu01.aws.af.cm/projet?projetCle=" + projet.cle + "\n\n"
			corps += "L'equipe du site LesBonsAmis vous remercie.\n"
			corps += "http://lesbonsamis.eu01.aws.af.cm/"
			
			def destinataire = [responsable.email]
			projet.participants.each {
				if (it.email) {
					destinataire.add(it.email)
				}
			}
			
			def sujet = "Creation d'un evenement sur LesBonsAmis"
			
			mailService.sendMail {
				from	responsable.email
				to      destinataire.toArray()
				subject sujet
				body    corps
			}
		}
		
		// mise à jour du projet
		transactionService.calculTransactions(projet)
		
		def listeTransaction = projet.transactions
		render(view:"liste", model:["projet":projet, "listeTransaction":listeTransaction, "message":message])
	}
}
